#include <stdio.h>

// 函数声明
void hanoi(int n, char from_rod, char to_rod, char aux_rod);

int main() {
    int n; // 圆盘的数量
    printf("请输入圆盘的数量: ");
    scanf("%d", &n);
    hanoi(n, 'A', 'C', 'B'); // 调用汉诺塔函数
    return 0;
}

// 汉诺塔递归函数
void hanoi(int n, char from_rod, char to_rod, char aux_rod) {
    if (n == 1) {
        printf("将圆盘 1 从 %c 移动到 %c\n", from_rod, to_rod);
        return;
    }
    hanoi(n - 1, from_rod, aux_rod, to_rod); // 将前 n-1 个圆盘从 A 移动到 B
    printf("将圆盘 %d 从 %c 移动到 %c\n", n, from_rod, to_rod); // 将第 n 个圆盘从 A 移动到 C
    hanoi(n - 1, aux_rod, to_rod, from_rod); // 将前 n-1 个圆盘从 B 移动到 C
}
